#include <string>

namespace saxpp
{

  template<class CH = char, class TRAITS = std::char_traits<CH> >
    class SAXException : std::exception
    {
    public:

      typedef CH char_type;
      typedef TRAITS char_traits;
      typedef std::basic_string<char_type, char_traits> string_type;

      SAXException()
      {
      }

      SAXException(const string_type &message) :
          myMessage(message)
      {
      }

      virtual
      ~SAXException()
      {
      }

      virtual const char *
      what() const
      {
        return myMessage.c_str();
      }

    protected:

      string_type myMessage;

    };
}
